package com.cqhilink.iot.jobstandardmanagement.dao.mapper;

import com.cqhilink.iot.jobstandardmanagement.facade.model.CellDataSet;
import com.cqhilink.iot.jobstandardmanagement.facade.model.WorkCellInstance;

import java.util.List;
import java.util.Map;

/**
 * 操作单元关联数据集-映射
 */
public interface CellDataSetMapper {
    /**
     * 根据主键ID删除信息
     *
     * @param datasetCellId 主键ID
     * @return
     */
    int deleteByPrimaryKey(String datasetCellId);

    /**
     * 新增关联数据
     *
     * @param record 数据封装类
     * @return
     */
    int insert(CellDataSet record);

    /**
     * 新增关联数据(新增字段可循)
     *
     * @param record 数据封装类
     * @return
     */
    int insertSelective(CellDataSet record);

    /**
     * 根据主键id查询关联数据信息
     *
     * @param datasetCellId 主键ID
     * @return
     */
    CellDataSet selectByPrimaryKey(String datasetCellId);

    /**
     * 根据主键id修改关联信息
     *
     * @param record 数据封装类
     * @return
     */
    int updateByPrimaryKeySelective(CellDataSet record);

    /**
     * 根据主键id修改关联数据(修改字段可选)
     *
     * @param record 数据封装类
     * @return
     */
    int updateByPrimaryKey(CellDataSet record);

    /**
     * 查询表格数据
     * @param cellDataSet 分页公用类
     * @return
     */
    List<CellDataSet> queryTableList(CellDataSet cellDataSet);


    /**
     * 查询出数据集id ;
     * @param cellDataSet
     * @return
     */
    List<CellDataSet> queryAddList(CellDataSet cellDataSet);

    /**
     * 查询该数据集是否关联
     *
     * @param cellDataSet 基本数据封装类
     * @return
     */
    CellDataSet queryRowsByDatasetId(CellDataSet cellDataSet);

    /**
     * 根据ID修改状态
     *
     * @param map 主键id
     * @return
     */
    Integer updateStatusById(Map map);


    /**
     * 查询相关数据集
     * @param cellDataSet
     * @return
     */
    List<CellDataSet> queryDataSetTable(CellDataSet cellDataSet);

    /**
     * @param instance
     * @return
     */
    List<CellDataSet> queryDataSetList(WorkCellInstance instance);

}